Zobrazeni framu z DLL v hlavni aplikaci
Otázka od: delphi-konference@bcpraha.com
25. 9. 2002 13:22
Ahoj,
narazil jsem na nasledujici problem: Definoval jsem si v DLL frame s ovladacimi
prvky, ktery zobrazuju na zalozce komponenty TPageControl v dialogu v hlavni
EXE aplikaci. V DLL je funkce, ktera vraci vytvoreny frame a v aplikaci si ho
vlozim
do noveho TabSheetu. Vse krasne funguje vse se zobrazuje.
Bohuzel, problem je pri posouvani se po ovladacich prvcich klavesou TAB. Dialog
totiz ovladaci prvky vytvorene v knihovne DLL naprosto ignoruje. Zkoumal jsem,
kde je chyba a prisel jsem na nasledujici. V jednotce Forms je globalni funkce
GetParentForm, ktera zjistuje rodicovky formular. Jenze v pripade ovladach
prvku
vytvorenych v DLL se sice rodicovsky formular najde spravny (odkaz na formular
dialogu z hlavnich aplikace), ale porovnani "Form is TCustomForm" probehne
samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je
vytvoreny
v EXE. Dostal jsem si tim do naprosto patove situace, protoze s tim se neda nic
delat, to je jadro VCL.
Potreboval bych nejak zobrazit na zalozkach v dialogu ovladaci prvky vytvorene
v
DLL tak, aby se po nich dalo i posunovat pomoci TAB a sipek. Nezkousel jste to
nekdo nebo nemate nekdo nejaky napad?
Diky za kazdou informaci.
Ludek
Odpovedá: Ondrej Kelle
25. 9. 2002 13:11
> ale porovnani "Form is TCustomForm" probehne
> samozrejme vzdy na False, protoze ta funkce se vola
> v DLL a formular je vytvoreny v EXE.
Presne tak, TCustomForm v DLL <> TCustomForm v EXE.
Skus EXE aj DLL prebuildovat s runtime packages.
Pripadne prepis tu DLL na runtime package.
HTH
TOndrej
Odpovedá: Tom Beran
25. 9. 2002 12:34
Zkus EXE i DLL prelozit s run-time VCL balicky.
Hodne zdaru!!!
Tom
---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.391 / Virová báze: 222 - datum vydání: 19.9.2002
Odpovedá: Jan Sebelík
25. 9. 2002 18:00
> Odesílatel: delphi-konference@bcpraha.com
> "Form is TCustomForm" probehne
> samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je
vytvoreny
> v EXE.
Built with Runtime packages?
Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================
Odpovedá: delphi-konference@bcpraha.com
26. 9. 2002 9:42
> > Odesílatel: delphi-konference@bcpraha.com
> > "Form is TCustomForm" probehne
> > samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je
vytvoreny
> > v EXE.
>
> Built with Runtime packages?
Myslite, ze by pomohlo napsat to v CLX knihovne a pouzit QT DLLko?
Ludek